derived data types in c